# Default values for kubeedge.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
appVersion: "0.1.0"

cloudCore:
  repository: "{{ cloudcore_repo }}"
  tag: "{{ cloudcore_tag }}"
  pullPolicy: "IfNotPresent"
  affinity:
    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: node-role.kubernetes.io/edge
            operator: DoesNotExist
  tolerations: []
  cloudhubPort: "10000"
  cloudhubQuicPort: "10001"
  cloudhubHttpsPort: "10002"
  cloudstreamPort: "10003"
  tunnelPort: "10004"
  cloudHub:
    advertiseAddress: # At least a public IP Address or an IP which can be accessed by edge nodes must be provide
      - ""            # Causion!: Leave this entry to empty will cause CloudCore to exit abnormally once KubeEdge is enabled.
    nodeLimit: "100"
    websocket:
      enable: true
    quic:
      enable: false
      maxIncomingStreams: "10000"
    https:
      enable: true
  cloudStream:
    enable: true
  service:
    cloudhubNodePort: "30000"
    cloudhubQuicNodePort: "30001"
    cloudhubHttpsNodePort: "30002"
    cloudstreamNodePort: "30003"
    tunnelNodePort: "30004"

edgeWatcher:
  affinity:
    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: node-role.kubernetes.io/edge
            operator: DoesNotExist
  tolerations: []
  controllerManager:
    repository: "{{ edge_watcher_repo }}"
    tag: "{{ edge_watcher_tag }}"
    pullPolicy: "IfNotPresent"
  kubeRBACProxy:
    repository: "{{ kube_rbac_proxy_repo }}"
    tag: "{{ kube_rbac_proxy_tag  }}"
    pullPolicy: "IfNotPresent"
  edgeWatcherAgent:
    repository: "{{ edge_watcher_agent_repo }}"
    tag: "{{ edge_watcher_agent_tag }}"
    pullPolicy: "IfNotPresent"
    affinity:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
          - matchExpressions:
            - key: node-role.kubernetes.io/edge
              operator: DoesNotExist
    tolerations:
    - effect: NoSchedule
      key: node-role.kubernetes.io/master
    - key: CriticalAddonsOnly
      operator: Exists
  edgeNode:
    labels:
      - name: "node-role.kubernetes.io/edge"
        value: ""
  iptablesRules:
    source:
      metricsPort: "10250"
      logPort: "10350"
    destination:
      address: "{{ ks_kubeedge_nodeIP.stdout }}"

